package com.aabte.design2.behavioral.visitor;

/**
 * 具体访问者实现了同一算法的多个版本，而且该算法能与所有具体类进行交互
 * <p>
 * 访问者模式在复杂对象结构（例如组合树）上使用时能发挥最大作用。在这种情
 * 况下，它可以存储算法的一些中间状态，并同时在结构中的不同对象上执行访问
 * 者方法。这可能会非常有帮助
 *
 * @author Daniel
 * @version 1.0
 * @date 2020/5/4
 */
public class ExportVisitor implements Visitor {
    @Override
    public void visitDot(Dot dot) {
        System.out.println("导出 dot = " + dot);
    }

    @Override
    public void visitCircle(Circle circle) {
        System.out.println("导出 circle = " + circle);
    }

    @Override
    public void visitRectangle(Rectangle rectangle) {
        System.out.println("导出 rectangle = " + rectangle);
    }
}
